#ifndef CONNECTIONSTATE_HH_
# define CONNECTIONSTATE_HH_

/**
 * \brief A kapcsolat állapota.
 */
enum ConnectionState {
    /**
     * \brief Kezdeti állapot.
     *
     * auth.request hatására AUTH_REQUESTED-re, vagy AUTH_FAILED-re (hibás
     * felhasználónév esetén) változik és egy auth.challenge üzenet kerül
     * elküldésre.
     */
    START,

    /**
     * \brief Sikeres autentikáció (auth.response).
     *
     * init.new_game és init.join hatására WAITING-re változik és egy done
     * üzenet kerül elküldésre.
     */
    AUTH_OK,

    /**
     * \brief A játékos a többiekre várakozik.
     *
     * A játékos ebben a körben már küldött game.next_turn üzenetet, több
     * üzenetet nem küldhet, amíg mindenki nem fejezte be a körét.
     */
    WAITING,

    /**
     * \brief A játék folyamatban van.
     *
     * A játékos ebben a körben még nem küldött game.next_turn üzenetet,
     * bármilyen game üzenetet küldhet.
     */
    GAME
};

#endif // ndef CONNECTIONSTATE_HH_
